var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');

//连接MongoDB数据库
mongoose.connect('mongodb://193.112.60.83:27017/mall');
//加载user模型
var User = require('../model/user');
//登录功能，把用户请求中的用户账号存在cookie中
router.post('/login', (req, res, next) => {
  var param = {
    userName: req.body.userName,
    userPwd: req.body.userPwd
  };
  console.log(param);
  //从数据库中查看是否存在该账户
  User.findOne(param,(err,userDoc)=>{
    console.log(err,userDoc)
    if (err){//查询是否成功
      res.json({
        status: '1',
        msg: err.message
      })
    } else {
      if (userDoc) {//用户是否存在,存信息在cookie中并返回给浏览器
        res.cookie(
          'userId',userDoc.userId,{
            path: '/',//返回给浏览器时，cookie所在的路径
            maxAge: 1000*60*60//cookie存活的时间，毫秒为单位
          }
        );//使用了cookie-parser插件，需要在app.js中声明express使用，这样每个二级路由就能使用了
        res.json({
          status: '0',
          msg: 'suc',
          result:userDoc.userName
        })
      }else {
        res.json({
          status: '1',
          msg: 'false',
          result: 'zha bu dao'
        })
      }
    }
  })
});
//登出功能
router.post('/logout',(req,res,next)=>{
  //返回一个cookie，把原来浏览器中的cookie用户信息给去掉
  res.cookie('userId','',{
    path: '/',
    maxAge: -1//把这个userId给杀掉
  });
  res.json({
    status:"0",
    msg:'suc',
    result:'logout success'
  })
});
//确认是否登录功能，例：再添加商品到购物车时，需要验证是否登录
router.get('/checkLogin',(req,res,next)=>{
  //查看请求中的cookie是否包含userId字段
  if(req.cookies.userId){
    res.json({
      status: '0',
      msg: '已登录',
      result: req.cookies.userId
    })
  }else {
    res.json({
      status: '1',
      msg: '未登录',
      result: ''
    })
  }
});
//渲染购物车数据
router.get('/cartList',(req,res,next)=>{
  //因为已经全局过滤了，这里默认cookie里面有userId
  var param={
    userId :req.cookies.userId
  }
  User.findOne(param,(err,userDoc)=>{
    if (err){
      res.json({
        status: '1',
        msg: 'f',
        result: ''
      })
    } else {
      if (userDoc){
        res.json({
          status: '0',
          msg: 'suc',
          result: userDoc.cartList
        })
      } else {
        res.json({
          status: '1',
          msg: 'f',
          result: ''
        })
      }
    }
  })
});
module.exports = router;
